package inheritence;

/**
 * Created by pc on 2015/2/12.
 * 当子类有与父类同名的变量时，直接使用变量名程序访问的是子类的变量，
 * 父类的变量需要用super，或向上造型到父类才可引用* 
 */

class Son extends Parent{
//    private String bookName = "机器猫";
    
    public String getParentBookName(){
        return super.bookName;
    }

    @Override
    protected void overideThis() {
        System.out.println("我是包内子类，访问没问题");
    }
}

public class ExtendsDemo {
    public static void main(String args[]){
        Son son = new Son();
        System.out.println(((Parent)son).bookName);
        //下面报错，只有当子类里未定义bookName时，下面可通过
        System.out.println(son.bookName);
        System.out.println("access by super: " + son.getParentBookName());
        son.overideThis();
        
        
    }
}
